package com.skywo.demo1.service

import com.skywo.demo1.controller.req.UserAddReq
import com.skywo.demo1.controller.req.UserEditReq
import com.skywo.demo1.controller.req.UserQueryReq
import com.skywo.demo1.controller.req.UserRegisterReq
import com.skywo.demo1.controller.vo.UserInfoVo
import org.springframework.data.domain.Page
import org.springframework.security.core.userdetails.UserDetailsService
import javax.servlet.http.HttpServletRequest

interface UserService : UserDetailsService {
    fun getUserById(id: String): UserInfoVo
    fun userRegister(userRegisterReq: UserRegisterReq): Boolean
    fun getLoginUser(request: HttpServletRequest): UserInfoVo
    fun pageUser(userQueryReq: UserQueryReq, pageNum: Int, pageSize: Int): Page<UserInfoVo>
    fun editUser(req: UserEditReq): Boolean
    fun addUser(req: UserAddReq): Boolean
    fun removeUser(id: String): Boolean
    fun removeUserList(ids: List<String>): Boolean
}